如何解决关于使用列表的最小和最大功能
我正在尝试从list()生成的列表中打印min()和max()值
x = [list(range(1,11))]
print(min(x))
print(max(x))
这将两次返回原始列表:[1、2、3、4、5、6、7、8、9、10]和[1、2、3、4、5、6、7、8、9 ,10]
但是当我写
x = [1,2,3,4,5,6,7,8,9,10]
print(min(x))
print(max(x))
它返回实际的最小值和最大值:1和10
我想念什么?
解决方法
x = [list(range(1,11))]
正在list
个list
中创建一个; list
构造函数将range
转换为list
,然后方括号声明包含该list
的另一个list
。就像这样做:
x = [[1,2,3,4,5,6,7,8,9,10]] # Note two brackets on each side
很明显,只有一个元素(内部列表)的max
的{{1}}和min
就是那个元素。这是list
中所有元素中最全部的。如果您希望它等同于:
list
只需:
x = [1,10]
或者,如果您真的喜欢方括号语法,则可以像这样使用广义解包:
x = list(range(1,11)) # No brackets needed; the list constructor makes a single unnested list
,
像这样更改x;
import React from 'react'
// import {strings as frstrings} from '../res/lang/fr/strings'
// import {strings as engstrings} from '../res/lang/eng/strings'
const lang = {
// in this way,you could dynamically add lang
// later on which worrying about if-elses in your component
en: {
hello: 'hello'
},fr: {
hello: 'bonjour',},}
const langDict = (key) => lang[key]
const LanguageContext = React.createContext(null);
function LanguageProvider({ initialState = 'en',children }) {
const [lang,setLang] = React.useState(initialState);
return (
<LanguageContext.Provider value={[langDict(lang),setLang]}>
{children}
</LanguageContext.Provider>
)
}
function useLanguage() {
return React.useContext(LanguageContext);
}
export default function AppWrapper() {
return (
<LanguageProvider>
<App />
</LanguageProvider>
)
}
function App() {
const [lang,setLang] = useLanguage();
return (
<div>
<h1>{lang.hello}</h1>
<button onClick={() => setLang('fr')}>French</button>
<button onClick={() => setLang('en')}>English</button>
</div>
)
}
,
您的第一种情况是一个仅包含一个元素的列表:一个数字为1-10的子列表
set.seed(123)
#predicted response
y_pred=replicate(50,rbinom(1,1,prob = 0.55))
#actual response
y=sample(rep(0:1,each=25))
table(y,y_pred)
y_pred
y 0 1
0 13 12
1 10 15
因此,最小值和最大值只能是一个元素...
,之所以会这样,是因为在第一个语句中,您正在另一个列表中创建一个列表。通过使用关键字列表将第一条语句修改为x = list(range(1,11))
,您已经在告诉代码变量应该是一个列表,因此不需要括号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。