def find_one(nums):
dc = {}
for num in nums:
if num not in dc:
dc[num] = 1
else:
dc[num] += 1
result = []
for key, value in dc.items():
if value == 1:
result.append(key)
return result
nums1 = [1, 4, 1, 6]
nums2 = [1, 2, 3, 3, 2, 9]
print(f"数组{nums1}的结果为{find_one(nums1)}")
print(f"数组{nums2}的结果为{find_one(nums2)}")
def find_longest(strs):
if not strs:
return ""
for i in range(len(strs[0])):
for s in strs[1:]:
if i >= len(s) or strs[0][i] != s[i]:
return strs[0][:i]
return strs[0]
strs1 = ["flower", "flow", "flight"]
strs2 = ["dog", "racecar", "car"]
print(find_longest(strs1))
print(find_longest(strs2))
def match_strs(s):
stack = []
dc = {
')': '(',
']': '[',
'}': '{'
}
for char in s:
if char in dc:
if not stack or stack.pop() != dc[char]:
return False
else:
stack.append(char)
return not stack
s1 = "()[]{}"
s2 = "(]"
s3 = "([)]"
s4 = "{[]}"
print(match_strs(s1))
print(match_strs(s2))
print(match_strs(s3))
print(match_strs(s4))
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
plt.rcParams["axes.unicode_minus"] = False
df = pd.read_csv(
"用户行为.csv",
encoding="utf-8",
index_col="用户ID"
)
print("原始数据:")
print(df.head())
mean_data = df.groupby('用户等级(1-5级)').agg(
平均浏览时长=('浏览时长(分钟)', 'mean'),
平均下单次数=('下单次数', 'mean'),
平均支付金额=('支付金额(元)', 'mean')
)
print("\n不同用户等级的统计数据:")
print(mean_data)
payment_stats = df['支付金额(元)'].agg(['max', 'min', 'std', 'median'])
print("\n支付金额统计:")
print(f"最大值:{payment_stats['max']}")
print(f"最小值:{payment_stats['min']}")
print(f"标准差:{payment_stats['std']:.2f}")
print(f"中位数:{payment_stats['median']}")
df['单均支付金额'] = df.apply(
lambda row: row['支付金额(元)'] / row['下单次数'] if row['下单次数'] != 0 else 0,
axis=1
)
print("\n添加单均支付金额后的数据:")
print(df.head())
plt.figure(figsize=(10, 6))
mean_data['平均支付金额'].plot(kind='bar', color='skyblue')
plt.title('不同用户等级的平均支付金额')
plt.xlabel('用户等级')
plt.ylabel('平均支付金额(元)')
plt.xticks(rotation=0)
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()